]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Calendar: use text/calendar preferred app as the calendar app
authorGiovanni Campagna <gcampagna@src.gnome.org>
Tue, 25 Dec 2012 00:29:18 +0000 (01:29 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 27 Dec 2012 18:05:52 +0000 (19:05 +0100)
That's what the info panel in g-c-c defines as the preferred calendar
application.

https://bugzilla.gnome.org/show_bug.cgi?id=690767

js/ui/dateMenu.js

index 7b762b3de98934016f1bf52b7266fa6132d2c1a1..a60d85ff72849cbd01145cd2f6b0ededa0e6943a 100644 (file)
@@ -113,11 +113,6 @@ const DateMenuButton = new Lang.Class({
         this._openCalendarItem.actor.can_focus = false;
         vbox.add(this._openCalendarItem.actor, {y_align: St.Align.END, expand: true, y_fill: false});
 
-        this._calendarSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.office.calendar' });
-        this._calendarSettings.connect('changed::exec',
-                                       Lang.bind(this, this._calendarSettingsChanged));
-        this._calendarSettingsChanged();
-
         // Whenever the menu is opened, select today
         this.menu.connect('open-state-changed', Lang.bind(this, function(menu, isOpen) {
             if (isOpen) {
@@ -151,12 +146,6 @@ const DateMenuButton = new Lang.Class({
         this._sessionUpdated();
     },
 
-    _calendarSettingsChanged: function() {
-        let exec = this._calendarSettings.get_string('exec');
-        let fullExec = GLib.find_program_in_path(exec);
-        this._openCalendarItem.actor.visible = fullExec != null;
-    },
-
     _setEventsVisibility: function(visible) {
         this._openCalendarItem.actor.visible = visible;
         this._separator.visible = visible;
@@ -205,24 +194,8 @@ const DateMenuButton = new Lang.Class({
 
     _onOpenCalendarActivate: function() {
         this.menu.close();
-        let tool = this._calendarSettings.get_string('exec');
-        if (tool.length == 0 || tool.substr(0, 9) == 'evolution') {
-            // TODO: pass the selected day
-            let app = Shell.AppSystem.get_default().lookup_app('evolution-calendar.desktop');
-            app.activate();
-        } else {
-            let needTerm = this._calendarSettings.get_boolean('needs-term');
-            if (needTerm) {
-                let terminalSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.terminal' });
-                let term = terminalSettings.get_string('exec');
-                let arg = terminalSettings.get_string('exec-arg');
-                if (arg != '')
-                    Util.spawn([term, arg, tool]);
-                else
-                    Util.spawn([term, tool]);
-            } else {
-                Util.spawnCommandLine(tool)
-            }
-        }
+
+        let app = Gio.AppInfo.get_default_for_type('text/calendar', false);
+        app.launch([], global.create_app_launch_context());
     }
 });